Windows上MySQL开启Binlog日志以及如何查看

您所在的位置:网站首页 mysql 查看开启binlog Windows上MySQL开启Binlog日志以及如何查看

Windows上MySQL开启Binlog日志以及如何查看

2024-01-26 20:15| 来源: 网络整理| 查看: 265

MySQL的Binlog日志内容量巨大,这里就不赘述了,后面有时间会做专门的关于MySQL的Binlog日志的总结,不过我们也得知道Binlog日志是干啥的。

一、Binlog日志

1.什么是Binlog日志?   binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。   binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但你可以通过查询通用日志来查看MySQL执行过的所有语句。

2.Binlog日志的作用?   因为Binlog日志主要就是记录数据库表结构变更和数据修改的,所以主要有两个用途: (1)数据库表备份 (2)数据库主从复制

3.Binlog日志相关参数

参数详解log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlog_do_db此参数表示只记录指定数据库的二进制日志binlog_ignore_db此参数表示不记录指定的数据库的二进制日志max_binlog_cache_size此参数表示binlog使用的内存最大的尺寸binlog_cache_size此参数表示binlog使用的内存大小,可以通过状态变量binlog_cache_use和binlog_cache_disk_use来帮助测试。binlog_cache_use使用二进制日志缓存的事务数量binlog_cache_disk_use使用二进制日志缓存但超过binlog_cache_size值并使用临时文件来保存事务中的语句的事务数量max_binlog_sizeBinlog最大值,最大和默认值是1GB,该设置并不能严格控制Binlog的大小,尤其是Binlog比较靠近最大值而又遇到一个比较大事务时,为了保证事务的完整性,不可能做切换日志的动作,只能将该事务的所有SQL都记录进当前日志,直到事务结束sync_binlog这个参数直接影响mysql的性能和完整性。sync_binlog=0:当事务提交后,Mysql仅仅是将binlog_cache中的数据写入Binlog文件,但不执行fsync之类的磁盘 同步指令通知文件系统将缓存刷新到磁盘,而让Filesystem自行决定什么时候来做同步,这个是性能最好的。sync_binlog=n,在进行n次事务提交以后,Mysql将执行一次fsync之类的磁盘同步指令,同志文件系统将Binlog文件缓存刷新到磁盘。Mysql中默认的设置是sync_binlog=0,即不作任何强制性的磁盘刷新指令,这时性能是最好的,但风险也是最大的。一旦系统绷Crash,在文件系统缓存中的所有Binlog信息都会丢失 二、Windows上如何开启MySQL的Binlog日志

默认情况下MySQL的Binary是关闭的,例如你在MySQL中输入“show variables like ‘log_bin’;”得到的记过是OFF(关闭)。Windows和Linux中MySQL开启Binlog日志方式大致相同,这里就以Windows为例。

1.修改mysql的配置文件my.ini 添加如下配置:

# Binary Logging. # log-bin log_bin = mysql-bin # log_bin = C:\ProgramData\MySQL\MySQL Server 5.7\Data\log\bin_log binlog_format = ROW

log_bin为mysql-bin时,binlog日志文件会默认生成在data目录下,并以mysql-bin.00000x方式命名。   log_bin为绝对路径时,binlog日志文件会生成在指定路径的目录下,命名方式同上。

2.重启MySQL服务即可 Windows中重启MySQL服务: (1)在任务管理器中直接找到mysql57(我的版本为5.7,版本不同这里也会不同),直接右键点击“重新启动”即可。 (2)在管理员身份下运行cmd界面中输入“net stop mysql57”和“net start mysql57”,先停止服务,再开启服务即可。

重启服务后再通过上面说到的“show variables like ‘log_bin’;”命令查询得到ON,即表示Binlog日志开启完成。

三、Windows上查看MySQL的Binlog日志文件

由于二进制文件不方便直接查看,会有编码问题,这里介绍下通过MySQL自带的mysqlbinlog(在MySQL程序目录的bin目录下有mysqlbinlog.exe程序文件)查看binlog日志文件的方式。(Linux上也可如此)

前提:cmd进入程序目录(bin目录,也就是mysqlbinlog所在目录) 方式一:通过mysqlbinlog直接查看

mysqlbinlog.exe mysql-bin.000001

方式二:通过mysqlbinlog将binlog日志文件转换为txt查看

mysqlbinlog.exe -u username -p password mysql-bin.000001 >001.txt


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3